<?php

if (!defined('HIDDEN'))  define('HIDDEN', BaseRecognizer::$HIDDEN);

class ExpLexer extends AntlrLexer {
    
    static $WS = 5;
    static $Number = 4;
    static $T__11 = 11;
    static $T__10 = 10;
    static $EOF = -1;
    static $T__9 = 9;
    static $T__8 = 8;
    static $T__7 = 7;
    static $T__6 = 6;
    
    function __construct($input, $state = null) {
        
        parent::__construct($input, $state);
    }
    
    function getGrammarFileName() {
        
        return "test\\easy\\Exp.g";
    }
    
    function mT__6() {
        
        try {
            $_type    = ExpLexer::$T__6;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
                $this->matchChar(43);
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }
    
    function mT__7() {
        
        try {
            $_type    = ExpLexer::$T__7;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
                $this->matchChar(45);
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }
    
    function mT__8() {
        
        try {
            $_type    = ExpLexer::$T__8;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
                $this->matchChar(42);
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }
    
    function mT__9() {
        
        try {
            $_type    = ExpLexer::$T__9;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
                $this->matchChar(47);
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }
    
    function mT__10() {
        
        try {
            $_type    = ExpLexer::$T__10;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
                $this->matchChar(40);
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }
    
    function mT__11() {
        
        try {
            $_type    = ExpLexer::$T__11;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
                $this->matchChar(41);
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }
    
    function mNumber() {
        try {
            $_type    = ExpLexer::$Number;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
            $cnt1     = 0;
                
                do {
                    $alt1  = 2;
                    $LA1_0 = $this->input->LA(1);
                    if ((($LA1_0 >= $this->getToken('48') && $LA1_0 <= $this->getToken('57')))) {
                        $alt1 = 1;
                    }
                    
                    switch ($alt1) {
                        case 1: {
                            $this->matchRange(48, 57);
                        }
                            break;
                        default:
                            if ($cnt1 >= 1)
                                break 2;
                            $eee = new EarlyExitException(1, $this->input);
                            throw $eee;
                    }
                    $cnt1++;
                } while (true);
                
                $alt3  = 2;
                $LA3_0 = $this->input->LA(1);
                if (($LA3_0 == $this->getToken('46'))) {
                    $alt3 = 1;
                }
                
                switch ($alt3) {
                    case 1: {
                        $this->matchChar(46);
                        $cnt2 = 0;
                        
                        do {
                            $alt2  = 2;
                            $LA2_0 = $this->input->LA(1);
                            if ((($LA2_0 >= $this->getToken('48') && $LA2_0 <= $this->getToken('57')))) {
                                $alt2 = 1;
                            }
                            
                            switch ($alt2) {
                                case 1: {
                                    $this->matchRange(48, 57);
                                }
                                    break;
                                default:
                                    if ($cnt2 >= 1)
                                        break 2;
                                    $eee = new EarlyExitException(2, $this->input);
                                    throw $eee;
                            }
                            $cnt2++;
                        } while (true);
                    }
                    break;
                }
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }

    function mWS() {
        
        try {
            $_type    = ExpLexer::$WS;
            $_channel = ExpLexer::$DEFAULT_TOKEN_CHANNEL; {
                if (($this->input->LA(1) >= $this->getToken('9') && $this->input->LA(1) <= $this->getToken('10')) || $this->input->LA(1) == $this->getToken('13') || $this->input->LA(1) == $this->getToken('32')) {
                    $this->input->consume();
                } else {
                    $mse = new MismatchedSetException(null, $this->input);
                    $this->recover($mse);
                    throw $mse;
                }
                $_channel = HIDDEN;
            }
            $this->state->type    = $_type;
            $this->state->channel = $_channel;
        } catch (Exception $e) {
            throw $e;
        }
    }
    
    function mTokens() {
        
        $alt4 = 8;
        $LA4  = $this->input->LA(1);
        if ($this->getToken('43') == $LA4) {
            $alt4 = 1;
        } else if ($this->getToken('45') == $LA4) {
            $alt4 = 2;
        } else if ($this->getToken('42') == $LA4) {
            $alt4 = 3;
        } else if ($this->getToken('47') == $LA4) {
            $alt4 = 4;
        } else if ($this->getToken('40') == $LA4) {
            $alt4 = 5;
        } else if ($this->getToken('41') == $LA4) {
            $alt4 = 6;
        } else if ($this->getToken('48') == $LA4 || $this->getToken('49') == $LA4 || $this->getToken('50') == $LA4 || $this->getToken('51') == $LA4 || $this->getToken('52') == $LA4 || $this->getToken('53') == $LA4 || $this->getToken('54') == $LA4 || $this->getToken('55') == $LA4 || $this->getToken('56') == $LA4 || $this->getToken('57') == $LA4) {
            $alt4 = 7;
        } else if ($this->getToken('9') == $LA4 || $this->getToken('10') == $LA4 || $this->getToken('13') == $LA4 || $this->getToken('32') == $LA4) {
            $alt4 = 8;
        } else {
            $nvae = new NoViableAltException("", 4, 0, $this->input);
            throw $nvae;
        }
        
        switch ($alt4) {
            case 1: {
                $this->mT__6();
            }
                break;
            case 2: {
                $this->mT__7();
            }
                break;
            case 3: {
                $this->mT__8();
            }
                break;
            case 4: {
                $this->mT__9();
            }
                break;
            case 5: {
                $this->mT__10();
            }
                break;
            case 6: {
                $this->mT__11();
            }
                break;
            case 7: {
                $this->mNumber();
            }
                break;
            case 8: {
                $this->mWS();
            }
                break;
        }
    }
}
?>